From 7cc868910b2ce64bb5c8c2ca71ea2641a454b169 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Tue, 5 Dec 2017 17:49:25 +0100 Subject: [PATCH] gl renderer: Avoid crashing tooltips --- gsk/gl/gskglrenderops.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/gsk/gl/gskglrenderops.c b/gsk/gl/gskglrenderops.c index 0b5a7dc1a4..8e96888b72 100644 --- a/gsk/gl/gskglrenderops.c +++ b/gsk/gl/gskglrenderops.c @@ -74,19 +74,22 @@ ops_set_clip (RenderOpBuilder *builder, RenderOp *last_op; GskRoundedRect prev_clip; - last_op = &g_array_index (builder->render_ops, RenderOp, builder->render_ops->len - 1); - - if (last_op->op == OP_CHANGE_CLIP) - { - last_op->clip = *clip; - } - else + if (builder->render_ops->len > 0) { - RenderOp op; - - op.op = OP_CHANGE_CLIP; - op.clip = *clip; - g_array_append_val (builder->render_ops, op); + last_op = &g_array_index (builder->render_ops, RenderOp, builder->render_ops->len - 1); + + if (last_op->op == OP_CHANGE_CLIP) + { + last_op->clip = *clip; + } + else + { + RenderOp op; + + op.op = OP_CHANGE_CLIP; + op.clip = *clip; + g_array_append_val (builder->render_ops, op); + } } if (builder->current_program != NULL) -- 2.30.2